package fr.phil.controller.converter;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;

import fr.phil.controller.InternauteAction;
import fr.phil.model.beans.CentreInt;
import ognl.DefaultTypeConverter;

/**
 * PhilippeBlog .
 * 
 * @author Philippe Package : fr.phil.controller.converter Fichier :
 *         CentreIntConverter.java Date : 29 janv. 2013
 */
public class CentreIntConverter extends DefaultTypeConverter {

	/**
	 * Le logguer log4j.
	 */
	private static final Logger LOG = 
			Logger.getLogger(CentreIntConverter.class);
	
	/* (non-Javadoc)
	 * @see ognl.DefaultTypeConverter
	 * #convertValue(java.util.Map, java.lang.Object, java.lang.Class)
	 */
	public final Object convertValue(final Map context, Object valeur, Class classe) {

		LOG.trace("Dans le convertisseur");
		LOG.trace("Class : " + classe);
		LOG.trace("Valeur : " + valeur);
		
		// est-ce que la saisie est bien un type List
		if (classe == List.class) {

			final List<CentreInt> listConvertir = new ArrayList<CentreInt>();

			try {
				final String[] stringAnalyser = (String[]) valeur;

				for (int i = 0; i < stringAnalyser.length; i++) {

					final int idc = Integer.parseInt(stringAnalyser[i]);
					LOG.trace("dans la List : "
							+ Integer.parseInt(stringAnalyser[i]));
					CentreInt c = new CentreInt();
					c.setIdentifiant(idc);
					listConvertir.add(c);
				}
				return listConvertir;
			} catch (Exception e) {
				LOG.trace("Error:" + e);
			}
		}
		return null;
	}
}
